home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
et
/
et3_0-a1.lha
/
et3
/
src
/
ClassManager.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-04-27
|
976b
|
45 lines
#ifndef ClassManager_First
#ifdef __GNUG__
//pragma once
#pragma interface
#endif
#define ClassManager_First
#include "Object.h"
#include "OrdColl.h"
//---- ClassManager ------------------------------------------------------------
class ClassManager: public Object {
OrdCollection *classTable;
bool sorted;
OrdCollection *sortClassTable();
public:
MetaDef(ClassManager);
ClassManager();
~ClassManager();
//---- class table management
OrdCollection *GetClassTable()
{ return sorted ? classTable : sortClassTable(); }
void Add(Class*);
void Remove(Class*);
class Iterator *Iterator()
{ return GetClassTable()->MakeIterator(); }
Class *Find(char *name, char *version= 0);
Class *FindOrLoad(char *name, char *version= 0);
Object *Load(char *module, char *cla);
//---- misc
void SetupSubclasses();
void InstanceStatistics(bool cumSorted= FALSE);
};
extern ClassManager *gClassManager;
#endif